﻿namespace _047_SingletonSample;

public class Singleton
{
    // 创建一个只读的静态Singleton实例
    private static readonly Singleton instance;


    // 记录Singleton的创建次数
    private static int instanceCounter = 0;

    // 静态构造函数，线程安全，只执行一次
    static Singleton()
    {
        instance = new Singleton(); // 初始化静态字段
        instanceCounter++;
        Console.WriteLine("Instances Created:" + instanceCounter);
    }

    // 私有构造函数，防止外部实例化
    private Singleton()
    {
    }

    // 单例实例的公共访问点
    public static Singleton Instance
    {
        get { return instance; }
    }

    // 在此处添加其他的Singleton类方法
    public void LogMessage(string msg)
    {
        Console.WriteLine("Message:" + msg);
    }
}